# -*- coding:utf-8 -*-
"""
@文件 Utils.py
@Time : 2025/2/26
@Author: zjj
@Des: 工具函数（自建）
@Email: 1065377805@qq.com

"""
import hashlib
import os
import uuid

import bcrypt


# 随机字符串
def rand_str():
    """
    唯一字符串
    :return:
    """
    only_str = hashlib.md5(str(uuid.uuid1()).encode(encoding="utf-8")).hexdigest()
    return str(only_str)


def en_password(psw: str):
    """
    密码加密
    :param psw: 需要加密的密码
    :return: 加密后的密码
    """
     # 生成盐值
    salt = bcrypt.gensalt()
    # 将密码转换为字节类型
    psw_bytes = psw.encode('utf-8')
    # 使用盐值加密密码
    hashed = bcrypt.hashpw(psw_bytes, salt)
    return hashed.decode('utf-8')  # 将加密后的字节类型密码转换为字符串类型


def verify_password(psw, hashed):
    
    """
    密码校验
    :param psw:
    :param hashed:
    :return:
    """
    psw_bytes = psw.encode('utf-8')
    hashed_bytes = hashed.encode('utf-8')
    return bcrypt.checkpw(psw_bytes, hashed_bytes)
